package com.coolw.data.migrate.domain.request;

import com.coolw.data.migrate.enums.MigrateTypeEnum;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 数据迁移请求
 *
 * @author coolw
 * @date 2024/2/1 14:24
 */
@Data
public class DataMigrateRequest implements Serializable {
    private static final long serialVersionUID = -225647129893424131L;

    /**
     * 源表名
     */
    @NotBlank
    private String sourceTableName;

    /**
     * 目标表名
     */
    @NotBlank
    private String targetTableName;

    /**
     * 数据迁移类型
     *
     * @see MigrateTypeEnum
     */
    @NotBlank
    private String migrateType;

    // ================== todo 传参待优化，先平铺 ==================

    /**
     * 迁移多少天之前的数据（不包含当天）
     */
    private Integer beforeDay;

    /**
     * 指定日期
     */
    private String specifiedDate;

    /**
     * 固定大小
     */
    private Integer fixedSize;

    /**
     * 开始日期，格式yyyy-MM-dd
     */
    private String startDate;

    /**
     * 结束日期，格式yyyy-MM-dd
     */
    private String endDate;
}
